home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-07-25 | 58.5 KB | 1,497 lines |
- Subject: Comp.Object FAQ Version 1.0.7 (10-27) Part 4/10
- Newsgroups: comp.object,comp.answers,news.answers
- From: Bob Hathaway <rjh@geodesic.com>
- Date: 29 Oct 1994 11:42:17 GMT
-
- Archive-name: object-faq/part4
- Last-Modified: 10/27/94
- Version: 1.0.7
-
- [Strachey 67] C. Strachey. Fundamental Concepts in programming languages.
- Lecture Notes for International Summer School in Computer Programming,
- Copenhagen, Aug.
-
- Contains original, classical definition of polymorphism.
-
- [Stroustrup 90] Ellis, M.A., Stroustrup. The Annotated C++ Reference Manual.
- Addison Wesley.
-
- The ARM; the original and definitive book on C++. Serves as the ANSI
- base document for C++. Also covers C++ implementation. It is meant as
- a reference (including for compiler writers), not as a tutorial for
- beginners. Perhaps a better ref is [Stroustrup 91].
-
- [Stroustrup 91] Stroustrup, B. The C++ Programming Language (2nd edition).
-
- Has the ARM, better reference for the use of C++ (recommended by bs).
- Contains sections on object-oriented software engineering.
-
- [Tasker 93] Dan Tasker. The Problem Space, Practical Techniques for
- Gathering & Specifying Requirements. ISBN: 0-646-12524-9. Avail only from
- author, dant@swdev.research.otc.com.au.
-
- Object-oriented requirements definition. Hypertext. Uses Rumbaugh's OMT as
- a base. See also APPENDIX D.
-
- [Ungar 87] D. Ungar and R.B. Smith. The Self Papers. [Entry To Be Completed]
-
- The documents on Self; a delegation/prototyping language. Also covers Self
- implementation and optimization. See also APPENDIX E, PAPERS section.
-
- [Wasserman 90] A.I. Wasserman et al. The Object-Oriented Software Design
- Notation for Software Design Representation. IEEE Computer, 23(3).
-
- Presents the Object-Oriented Structured Design (OOSD) OOSE methodology.
- Traditional structured techniques to OO, hybrid containing structured
- design and Booch.
-
- [Wegner 87] Peter Wegner. "Dimensions of Object-Based Language Design",
- Proceedings of OOPSLA '87, October 4-8 1987, SIGPLAN Notices
- (Special Issue), V22, No 12, pp168-182, 1987.
-
- [Wikstrom 87] Ake Wikstrom. Functional Programming Using Standard ML.
- Prentice Hall, ISBN 0-13-331661-0, 1987.
-
- ML reference.
-
- [Wilkie 93] George Wilkie. Object-Oriented Software Engineering - The
- Professional Developer's Guide. Addison Wesley.
-
- Covers OOSE, 11 popular analysis and design methodologies with examples,
- comparisons, and analysis, information systems (OODB), and case studies.
-
- [Winter Partners] Winter Partners
-
- A proprietary toolset (OSMOSYS) for OOA and OOD.
- Winter Partners
- London Office: Zurich Office:
- West Wing, The Hop Exchange
- 24a Southwark Street Florastrasse 44
- London SE1 1TY CH-8008 Zurich
- England Switzerland
- Tel. +44-(0)71-357-7292 Tel. +41-(0)1-386-95 11
- Fax. +44-(0)71-357-6650 Fax. +41-(0)1-386-95 00
-
- [Wirfs-Brock 90] Rebecca Wirfs-Brock, Brian Wilkerson, Lauren Wiener.
- Designing Object Oriented Software, Englewood Cliffs, NJ. Prentice Hall.
-
- Presents a "Responsibility Driven Design" (RDD) with "Class, Responsibility,
- Collaboration" (CRC) technique, a modern and new OOA/OOD methodology.
-
- [Yaoqing 93] Gao Yaoqing and Yuen Chung Kwong. A Survey of Implementations
- of Parallel, Concurrent, and Distributed Smalltalk. ACM SIGPLAN Notices.
- Vol 28, No. 9, Sept 93.
-
- Covers implementations of Parallel, Concurrent, and Distributed Smalltalk.
-
- [Yourdon 92] Edward Yourdon. Decline and Fall of the American Programmer.
- YPCS.
-
- Excellent coverage of modern software engineering practice and world-class
- software development organizations.
-
-
-
- APPENDICES
- ==========
-
-
- APPENDIX A VIPS
- ================
-
- These are individuals whose names appear in comp.object most often.
- Please send recommendations for *major* VIPS often cited or referenced.
-
- Booch, Grady <egb@rational.com>
- -------------------------------
-
- Grady Booch has been an object- based/oriented advocate for some time. He's
- written books such as Software Engineering with Ada [Booch 87], Software
- Components with Ada [Booch 87b], and OOA/D with Applications [Booch 91, 94].
- His latest notations are often referred to as simply the "Booch" method or
- notation and he is Chief Scientist at Rational, a company providing training
- and automated support for the method with a tool named "Rose" (See Appendix D).
- The Booch method now incorporates many modern methods, including OMT, and Dr.
- Rumbaugh has recently joined forces with Grady at Rational.
-
-
- Cox, Brad
- ---------
-
- Founder of Objective-C, which grafts the Smalltalk facilities of an
- Object id and a messaging mechanism onto C. Author of [Cox 87].
-
-
- Goldberg, Adele (Alan Kay, Dan Ingalls)
- ----------------------------------------
-
- One of the founders of Smalltalk (with Alan Kay and Dan Ingalls). Coauthor
- of [Goldberg 83, ??], "Smalltalk-80 The Language and its Implementation".
- Smalltalk was invented by a group at Xerox PARC; and a spinoff, ParcPlace, is
- now marketing Smalltalk environments (see APPENDIX C).
-
-
- Meyer, Bertrand <bertrand@eiffel.com>
- -------------------------------------
-
- Founder of Eiffel, author of [Meyer 88]. Often posts to comp.lang.eiffel
- and comp.object [what a FAQ writer notices]. His company, Interactive
- Software Engineering, has a case tool called EiffelCase (see APPENDIX D).
-
-
- Nygaard, Krysten (and Dahl, Ole-Johan)
- --------------------------------------
-
- Inventor of Simula, the first object-oriented programming language. Also
- inventor of object oriented design, for which Simula-67 was considered an
- implementation technique. Now B.B. Kristensen, O.L. Madsen, B. Moller-
- Pedersen, and K. Nygaard are working on BETA, their successor to Simula.
-
-
- Rumbaugh, Dr. James
- -------------------
-
- Part of Rumbaugh, Blaha, Premerlani, Eddy and Lorenson, the authors of
- [Rumbaugh 91]. They all work for GE Corporate Research and Development Center
- in Schenectady New York (See below) and have an OOA/OOD notation/methodology
- called the "Object Modeling Technique" (OMT). It is a rather formal and
- complete method often discussed in comp.object. OMTool is the name of the
- CASE system provided by Martin Marietta which supports OMT. See APPENDIX D.
-
- Recently, Dr. Rumbaugh has joined forces with Chief Scientist Grady Booch at
- Rational: Rumbaugh@rational.com
-
-
- Shlaer, Sally (and Mellor, Stephen J.)
- --------------------------------------
-
- >Sally Shlaer sally@projtech.com
- >Project Technology Training and Consulting using Shlaer-Mellor OOA/RD
- >Berkeley, CA (510) 845 1484
- Also: steve@projtech.com
-
- Cofounder of the Shlaer/Mellor OOA/RD method, president of Project Technology.
- As shown above, occasionally posts to comp.object [what a FAQ writer notices].
-
-
- Stroustrup, Bjarne (bs@alice.att.com)
- -------------------------------------
-
- Inventor of C++, a C superset, which has probably gained the most widespread
- use of any object-oriented language today. Often found in comp.lang.c++ and
- comp.object.
-
-
-
- APPENDIX B OBJECT-ORIENTED DATABASES AND VENDORS
- =================================================
-
- This is a list of available Object-Oriented databases. Thanks go to Stewart
- Clamen, who's survey on schema evolution provided a good start. Additional
- short entries are encouraged; please send additions to the author of the FAQ
- (and/or to Stewart).
-
- The most recent copy of Stewart Clamen's summary on available databases
- support for schema evolution will be available indefinitely via anonymous
- FTP from BYRON.SP.CS.CMU.EDU:/usr/anon/OODBMS/evolution-summary.
-
- [Kim 89] covers a few of the research systems below in depth.
-
- Starred entries also have an entry in "APPENDIX E ANONYMOUS FTP SITES".
-
- See also section 3.5 for an Object Database Management Group (ODMG) reference.
-
-
- TABLE OF CONTENTS
-
- Extended Relational Database Model
- Research Systems
- POSTGRES* [marketed by Montage]
- Starburst [IBM almaden, entry NYI]
- Commercial Systems
- Montage [Research System POSTGRES]
-
- Object-Oriented Data Model
- Research Systems
- AVANCE
- CLOSQL
- ConceptBase*
- COOL/COCOON
- Encore*
- Exodus*
- Machiavelli
- MOOD4-PC*
- OBST/STONE*
- Ode*
- Oggetto
- Orion [marketed as ITASCA, see Entry]
- OTGen
- VODAK
- Commercial Systems
- ArtBASE
- EasyDB (Objective Systems, Sweden)
- GemStone/GeODE
- ITASCA
- Matisse
- NeoAccess
- O2
- Objectivity/DB
- ObjectStore
- Ontos [formerly VBase]
- Odapter/OpenODB program (HP)
- Poet
- Statice
- UniSQL
- Versant
-
- Other Models
- Research Systems
- GRAS*
- IRIS
- Commercial Systems
- IDL
- Kala
- Pick
-
- Interfaces
- Research Systems
- Penguin
- Commercial Systems
- AllegroStore (Franz)
- Persistence
- Subtlware
- Synchronicity (Smalltalk)
-
-
- EXTENDED RELATIONAL DB MODEL
- ----------------------------
-
- Research Systems
- ________________
-
-
- > POSTGRES (Berkeley)
-
- POSTGRES is an extended-relational database manager that supports
- inheritance, user-defined types, functions, and operators, ad-hoc
- queries, time travel, a rules system, tertiary storage devices,
- and very large typed objects, among other things. POSTGRES speaks
- postquel, a derivative of the quel query language originally
- designed at berkeley for the ingres database system. User functions
- may be written in C or in postquel. C functions will be dynamically
- loaded into the database server on demand, and either kind of function
- may be executed from the query language.
-
- POSTGRES and the papers that describe it are available free of charge
- from toe.CS.Berkeley.EDU (128.32.149.117) in directory pub/postgres.
- The code is stored in a directory named after the latest release; at
- the time of this writing, that directory is postgres-v4r1. The list
- of officially-supported ports is short (decstations running ultrix 4.x
- and sparcstations). Unofficially, many more are supported -- people
- elsewhere have done the ports and distribute their versions of the
- code. The list of unofficial ports is available in pub/postgres as
- file UNOFFICIAL-PORT-LIST.
-
- On Type Evolution:
- You ask explicitly about type evolution. We support schema
- modification on all classes, including user classes. This means that
- you can add attributes (instance slots) and methods at any time.
- Further, since postgres is a shared database system, such changes are
- instantly visible to any other user of the class.
-
- The language syntax supports attribute deletion, but the system won't
- do it yet. Since all data is persistent, removing attributes from a
- class requires some work -- you need to either get rid of or ignore
- all the values you've already stored.
-
- Contact:
- Paul Aoki <aoki@cs.berkeley.edu>
-
- The postgres code from uc berkeley is being commercialized by
- Miro Systems, Inc. [This seems to have been updated to Montage]
-
- Contact:
- paula hawthorn (paula@miro.com)
- dave segleau (dave@miro.com)
-
-
- Commercial Systems
- ------------------
-
- > Montage (ORDBMS) [Research System POSTGRES]
-
- From: markh@montage.com (Mark Helfen)
- Subject: Montage Database - brief product announcement
- Followup-To: sales@montage.com
- Organization: Montage Software, Inc.
- Date: Wed, 10 Nov 1993 23:05:03 GMT
-
- The Montage object-relational database management system
- (ORDBMS) is now available from Montage Software, Inc.
-
- The Montage object-relational database management system
- includes the Montage Server(tm) database engine, the Montage
- Viewer(tm) -- a new visualization tool that simplifies queries of
- complex data -- and Montage DataBlades(tm), specialized modules
- that extend the capabilities of the database for specific applications.
- Montage represents the commercialization of the seven-year
- POSTGRES research project.
-
- The Montage Server extends the relational database model through
- its ability to handle complex information, and the inclusion of object-
- oriented facilities and capabilities. It uses the familiar relational row-
- column metaphor for all data, so that text, numbers and complex data
- are all viewed, managed, manipulated and queried the same way.
- The relational metaphor is extended to allow data of any size and
- complexity to be stored and accessed in the way that is most
- effective. SQL, used to access and manage data, is extended with
- SQL3-based capabilities to allow the definition of user data types and
- functions.
-
- The Montage Viewer uses visualization technology to organize
- information in visual terms -- by location, shape, color and intensity,
- for example. Similar to a "flight simulator," the Montage Viewer allows
- the user to visually navigate through data, refining each step by
- "panning" and "zooming" with a mouse.
-
- A DataBlade is a combination of data types and functions that are
- designed to support a specific application. Text, Spatial, and Image
- are the first of many DataBlades that will comprise a full-range of
- industry-specific products created by Montage, third parties and
- users based upon their own expertise.
-
- o The Text DataBlade expands the database's functionality by
- adding new data types and functions that manage text and document
- libraries, as well as a providing a new access method (Doc-Tree)
- which provides exceptional search performance for text.
-
- o The Image DataBlade supports image conversion, storage,
- manipulation, enhancement and management of more than 50 image
- formats, and performs automatic conversion of formats at the user's
- discretion.
-
- o Points, lines, polygons and their spatial relationships are now
- supported in the relational model with the Spatial DataBlade. The
- DataBlade defines nine basic spatial types and makes over 200 SQL
- functions available for use on spatial data, as well as supports the
- R-Tree access method for high speed navigation of spatial data.
-
- Montage Software was co-founded by Gary Morgenthaler of
- Morgenthaler Ventures and Dr. Michael Stonebraker of the University
- of California, Berkeley, . Morgenthaler is Montage Software's
- chairman of the board and Stonebraker serves as the company's
- chief technology officer. Morgenthaler and Stonebraker co-
- founded Ingres Corporation (then called Relational Technology,
- Inc.), in 1980.
-
- FOR ADDITIONAL INFORMATION:
-
- Montage Software Inc. can be contacted at:
-
- email: sales@montage.com
- phone: (510) 652-8000
- fax: (510) 652-9688
-
- Mailing Address:
-
- Montage Software, Inc.
- 2000 Powell Street, Suite 1405
- Emeryville, CA 94608
-
- OO DATA MODEL
- -------------
-
- Research Systems
- ________________
-
- > AVANCE (SYSLAB)
-
- An object-oriented, distributed database programming language. Its
- most interesting feature is the presence of system-level version
- control, which is used to support schema evolution, system-level
- versioning (as a way of improving concurrency), and objects with their
- own notion of history. System consists of programming language (PAL)
- and distributed persistent object manager.
-
- REFERENCES:
- Anders Bjornerstedt and Stefan Britts. "AVANCE: An
- Object Management System". Proceedings of OOPSLA88.
-
-
-
- > CLOSQL (University of Lancaster)
-
- Status:-
- CLOSQL is a research prototype OODB designed primarily for prototyping
- various schema evolution and view mechanisms based on class versioning.
- The system is built using CommonLISP. It would really only be of interest
- to other parties as a research tool.
-
- Requirements:-
- Common LISP including CLOS standard. The Graphical user interface requires
- the Harlequin LispWorks Tool-kit. The system was built on a Sun4 and
- has not been tested on any other platform.
-
- Features:-
- As a prototype, CLOSQL is not robust enough to sell. The system is single
- user and does not properly support persistence - that is, the data has to
- be loaded and saved explicitly. The query language is quite good
- making good use of the functional nature of the environment.
- Methods (LISP and query language only), class versioning and
- multiple inheritance are all supported in the data model. Type checking
- information is held in the database, but is NOT enforced at present. The
- GUI is notable for its support for schema evolution, but otherwise rather
- ordinary.
-
- Availability:-
- Probably freely available, but as the project was part funded by an
- industrial partner, some consultation with them would be necessary before
- the system could be released.
-
- References:-
- [1] Monk, S. R. and I. Sommerville, "A Model for Versioning of Classes
- in Object-Oriented Databases", Proceedings of BNCOD 10, Aberdeen.
- pp.42-58. 1992.
-
- [2] Monk, S. "The CLOSQL Query Language". Technical report No. SE-91-15.
- Computing Dept, Lancaster University, Lancaster, LA1 4YR, UK. 1991.
-
- [3] Monk, S., "A Model For Schema Evolution In Object-Oriented Database
- Systems", PhD thesis, Dept of Computing, Lancaster University, Lancaster
- LA1 4YR, UK. 1992.
-
- On Schema evolution (from original survey):
- CLOSQL implements a class versioning scheme (like ENCORE), but employs a
- conversion adaptation strategy. Instances are converted when there is a
- version conflict, but unlike ORION and GemStone, CLOSQL can convert instances
- to older versions of the class if necessary.
-
- Aberdeen, Scotland. July, 1992.
-
- Contacts;
- Simon Monk: srm@computing.lancaster.ac.uk
- Ian Sommerville: is@computing.lancaster.ac.uk
-
-
- > ConceptBase - A Deductive Object Manager for Meta Data Bases
-
- ConceptBase is a multi-user deductive object manager mainly
- intended for conceptual modeling and the coordination of design
- environments. The system implements a dialect of Telos which
- amalgamates properties of deductive and object-oriented languages.
-
- Key features are
-
- hybrid representation with frame-like objects,
- semantic nets and logical specifications
-
- unlimited extensibility by metaclass
- hierarchies (useful for IRDS, schema evolution etc.)
-
- deductive rules & integrity constraints
-
- queries as classes with membership constraints
-
- persistent object management with the ability to interrogate
- past states of the database
-
- ConceptBase follows a client-server architecture. Client programs
- can connect to the ConceptBase server and exchange data via
- interprocess communication. The X11-based ConceptBase user
- interface offers a palette of graphical, tabular and textual tools
- for editing and browsing the object base. The ConceptBase
- programming interface allows the users to create their own
- client programs in C or Prolog.
-
- The system can be obtained for free from ftp.informatik.rwth-aachen.de in
- /pub/CB/CB_3.2.4 (released 26-Apr-1994 for Sun/SPARC, SunOS 4.1.3)
- /pub/CB/CB_3.3 (released 26-Apr-1994 for Sun/SPARC, Solaris 2.3)
- Both versions are functionally equivalent. They only differ in the
- operating system platform.Please read file /pub/CB/doc/InstallationGuide
- (resp. /pub/CB/doc/InstallationGuide_3.2.4) before downloading the software.
- For running the ftp version you must ask for a key by email.
-
- Contact
- ConceptBase-Team
- RWTH Aachen - Informatik V
- D-52056 Aachen - Germany
-
- Tel./Fax: +49-241 80 21 501 / +49-241-8888321
- email: CB@picasso.informatik.rwth-aachen.de
- href="http://www.informatik.rwth-aachen.de/I5/CBdoc/cbflyer.html"
-
-
- > COOL/COCOON (Ulm Universitaet)
-
- The COCOON project was intended to extend the concepts and the
- architecture of relational database management systems (DBMSs) beyond
- nested relational to object-oriented ones. Based upon the nested
- relational DBMS kernel DASDBS, we have built a prototype implementation
- of the COCOON model. Key characteristics of COCOON are: generic,
- set-oriented query and update operators similar to relational algebra
- and SQL updates, respectively; object-preserving semantics of query
- operators, which allows for the definition of updatable views; a
- separation of the two aspects of programming language "classes": type
- vs. collection; predicative description of collections, similar to
- "defined concepts" in KL-One--like knowledge representation
- languages; automatic classification of objects and views (positioning
- in the class hierarchy); physical clustering of subobjects via the use
- of nested relations as the internal storage structures; support for the
- optimization of both, the physical DB design and query transformation,
- by corresponding optimizers.
-
- Project goals are:
-
- - to develop a general formal framework for investigations of all
- kinds of schema changes in object-oriented database systems
- (including schema design, schema modification, schema tailoring, and
- schema integration);
- - to find implementation techniques for evolving database schemas,
- such that changes on the logical level propagate automatically to
- adaptations of the physical level (without the need to modify all
- instances, if possible).
-
- In their current paper [see below], schema evolution is used as
- example of a general framework for change in OODBs, supporting change
- on three levels of database objects: data objects, schema objects, and
- meta-schema objects.
-
- Contact: Markus Tresch <tresch@informatik.uni-ulm.de>
-
-
- REFERENCES:
- M. Tresch and M.H. Scholl. "Meta Object Management
- and its Application to Database Evolution." In
- _Proceedings of the Eleventh International
- Conference on the Entity-Relationship Approach",
- Karlsruhe, Germany, Oct 1992. Springer Verlag (to
- appear).
-
-
-
- > Encore (Brown University)
- email:bpe@browncs.brown.edu
-
- Encore is an object-oriented database system targeted at large scale
- software engineering applications which are involved in data modeling.
- It was developed at Brown University in the late 1980s. It is notable
- for its special support for long-lived (ie. cooperative) transactions,
- popular in design applications, and its support for class versioning.
- Objects are never converted, rather, classes are versioned, and the
- user can specify filters to make old-style instances appear as new
- instances to new applications (and vice versa).
-
-
- References/Additional Information:
-
- [] Mary F. Fernandez. OBSERVER: A storage system
- object-oriented applications. Technical Report CS-90-27,
- Brown University, Providence, RI, 1990.
-
- [] Mark F. Hornick and Stanley B. Zdonik. A shared, segmented
- memory system for an object-oriented database. ACM
- Transactions on Office Information Systems, 5(1):70--95,
- January 1987.
-
- [] Andrea H. Skarra and Stanley B. Zdonik. Type evolution in an
- object-oriented database. In Research Directions in
- Object-Oriented Programming, MIT Press Series in Computer
- Systems, pages 393--415. MIT Press, Cambridge, MA, 1987. An
- early version of this paper appears in the OOPSLA '86
- proceedings.
-
- [] Andrea H. Skarra and Stanley B. Zdonik. Concurrency control
- for cooperating transactions in an object-oriented database.
- In Won. Kim and Frederick H. Lochovsky, editors,
- Object-Oriented Concepts, Databases and Applications.
- Addison-Wesley, Reading, MA, 1989.
-
- FTP: Complete source can be found in wilma.cs.brown.edu/pub/encore.tar.Z
- See also APPENDIX E.
-
-
- > Exodus (University of Wisconsin)
-
- EXODUS is a DBMS from the University of Wisconsin. An overview,
- excerpted from the abstract of [CDG+90] reads:
-
- EXODUS, an extensible database system project that is
- addressing data management problems posed by a variety of
- challenging new applications. The goal of the project is to
- facilitate the fast development of high-performance,
- application-specific database systems. EXODUS provides
- certain kernel facilities, including a versatile storage
- manager. In addition, it provides an architectural framework
- for building application-specific database systems; powerful
- tools to help automate the generation of such systems,
- including a rule-based query optimizer generator and a
- persistent programming language; and libraries of generic
- software components (e.g., access methods) that are likely to
- be useful for many application domains.
-
- The programming language is called E, an extension of C++. [RC89]
-
- REFERENCES:
- (see "ftp.cs.wisc.edu:exodus/bibliography" for a complete list)
-
- [CDG+90] Michael J. Carey, David J. DeWitt, Goetz Graefe,
- David M. Haight, Joel E. Richardson, Daniel T. Schuh,
- Eugene J. Skekita, and Scott L. Vandenberg. The EXODUS
- extensible DBMS project: An overview. In Stanley B.
- Zdonik and David Maier, editors, Readings in
- Object-Oriented Database Systems, Data Management
- Series. Morgan Kaufmann, San Mateo, CA, 1990. Also
- available as WISC-CS-TR 808.
-
- [CDRS89] Michael J. Carey, David J. DeWitt, Joel E. Richardson,
- and Eugene J. Skekita. Storage management for objects
- in EXODUS. In Won. Kim and Frederick H. Lochovsky,
- editors, Object-Oriented Concepts, Databases and
- Applications, chapter 14. Addison-Wesley, Reading, MA,
- 1989. After Carey et al. Object and File Management in
- the EXODUS Database System, Proceedings of the Twelveth
- International Conference on Very Large Data Bases,
- 1986.
-
- [GD87] G. Graefe and D. DeWitt. The EXODUS optimizer
- generator. In U. Dayal and I. Traiger, editors,
- Proceedings of the SIGMOD International Conference on
- Management of Data, San Francisco, CA, May 1987.
-
- [RC89] Joel E. Richardson and Michael J. Carey. Persistence in
- the E language: Issues and implementation. Software --
- Practice and Experience, 19(12):1115--1150, December
- 1989.
-
-
- FTP: source code, documentation and a complete bibliography can be
- found at ftp.cs.wisc.edu:exodus/
-
- See also APPENDIX E.
-
-
- On Schema Evolution (from original survey):
- No solution for the problem of schema evolution is provided.
- Emulation is rejected by the authors, who claim that the addition of a
- layer between the EXODUS Storage Manager and the E program would
- seriously reduce efficiency. Automatic conversion, whether lazy or
- eager, is also rejected, as it does not mesh well with the C++ data
- layout. To implement immediate references to other classes and
- structures, C++ embeds class and structure instances within its
- referent. The resulting change in the size of the object might
- invalidate remote pointer references.
-
- Joel E. Richardson and Michael J. Carey. "Persistence
- in the E language: Issues and Implementation." Appeared
- in "Software -- Practice and Experience",
- 19(12):1115-1150, December 1989.
-
-
- > Machiavelli (University of Pennsylvania)
-
- Machiavelli is a statically-typed programming language developed
- at the University of Pennsylvania. Its most outstanding innovation
- is the use of conditional typing scheme in its type inference system.
- It does not address type evolution.
-
- [communication with limsoon@saul.cis.upenn.edu]
-
- [Note: Machiavelli is included in this summary because it
- previously incorporated persistence in its data model.]
-
-
-
- > MOOD4-PC: Material's/Miniature Object-Oriented Database Prototype for
- NEC/IBM-PC
-
- is an object-oriented database system(OODBS) program developed in the
- course of our research project MOOD. The aim of the project MOOD is to
- develop a material database system to handle raw material data which
- are produced and accumulated in materials research and referred to by
- material experts when they face scientific or engineering problems
- where the expected behavior of particular materials in particular
- environments are crucial importance. We all know that the conventional
- database systems do not fulfill this requirement, though they serves
- well for bibliographic databases or fact databases which deals with
- the standard properties of standard materials.
-
- MOOD4-PC is written in Arity/Prolog and available in source and
- executable form via anonymous ftp from:
-
- ~/pub/mood/mood4
- at mood.mech.tohoku.ac.jp [130.34.88.61]
-
- ~/pub/database/mood
- at ftp.uu.net [192.48.96.9]
-
- ~/pub/computing/databases/mood
- at src.doc.ic.ac.uk [146.169.2.1]
-
- Although it is true enough to say that MOOD4 is a general purpose
- OODBS, it may be appropriate to point out that MOOD4 is significantly
- different from what is generally meant by the term, the
- Object-Oriented Database System.
-
- That is, OODBSs, in general, consist of two parts:
-
- (1) Disk storage manager
- (2) Database language to define and manipulate data objects to
- be stored to and retrieved from the disk.
-
- The database language of OODBS is akin to the object-oriented
- programming language such as Smalltalk or C++. You can enjoy the full
- versatility of these general purpose programming language in writing
- application programs with the database language.
-
- As apparent from these, OODBSs, in general, are for programmers who
- write application programs which serve end users' needs. MOOD, on the
- other hands, is not; it is for end users. It is provided with a user
- interface named the object editor or OE in short. With OE, we can;
-
- (1) Edit class definition objects and save them. This replaces the
- data definition language.
-
- (2) Edit data objects and save them.
-
- (3) Create query objects, let the system select data objects which
- match the queries, and browse them.
-
- In the other words, we can do everything necessary to manage and use
- database with OE. MOOD, therefore, needs no programming language and,
- in fact, has none. In this regard, MOOD may better be categorized to
- the OODBS application.
-
- The architecture of MOOD as such is the consequence of the nature of
- information to be dealt with in material database. If we describe the
- nature with a single word, "variety" will be the one most appropriate.
- No fixed data structure can handle a handful of material data because
- their contents differ from one to another. The feature of OODBS
- relevant here is not the intimacy with programming languages but the
- flexibility of data structure which allows us to construct data
- objects with a variety of structures which match the variety in the
- information to be dealt with. Upon inputting and retrieving data
- objects, end users are forced to face this variety in data structure
- since significant information is born in the structures of individual
- representations.
-
- Yet, we say that MOOD is a general purpose OODBS. This is not in the
- sense that we can develop application programs on it, but in the
- sense that it generally supports the essential capabilities of OODBS;
-
- (1) The abstract data type.
-
- (2) The nesting of structured data objects.
-
- (3) The class hierarchy.
-
- (4) The inheritance of attributes along the hierarchy.
-
- (5) Matching between objects along their structures with the
- knowledge of the class hierarchy.
-
- For additional features of MOOD4, please consult its manual available
- with the program. Although they are biased to the processing of
- material data (or, more generally, scientific and technical data),
- MOOD with these capabilities can be used in any application domain at
- least by the stage where you are to examine how well the pieces of
- information of interest are represented in OODBS and how well specific
- items of interest are discriminated out from the database as such.
-
- Questions and suggestions on this software which are ever welcome
- indeed may be addressed to;
-
- Noboru Ono
- Dept. of Machine Intelligence and Systems Engineering,
- Faculty of Engineering, Tohoku University.
- Tel:++22-216-8111,
- Fax:++22-216-8156,
- E-mail:ono@mood.mech.tohoku.ac.jp
-
-
-
- > OBST/STONE (Forschungszentrum Informatik [FZI], Karlsruhe, Germany)
-
- OBST3-4 is now available at ftp.fzi.de under /pub/OBST/OBST3-4.
- (Please do not confuse this new release with the older OBST3-3.4).
-
- Experienced users will notice that we've changed the structure of
- our ftp directory tree somewhat: compressed and gzip'ed files are
- now cleanly separated. By sending
- echo 'info ftp_listing' | mail obst-listserv@fzi.de
- you will get a directory listing from our ftp server.
-
- OBST3-4 is a major release with a new meta schema interface
- that enables schema modifications. A graphical schema browser
- (USE) based on tclOBST is now also available. Please note that this
- new tool has not yet been tested outside the FZI and that it
- is currently not part of the OBST core cdistribution.
-
- Beside bug fixes and performance improvements, we have added support
- for IBM AIX and FreeBSD and improved the installation on LINUX PCs.
-
- We would like to thank all OBST users who have helped us by testing a
- beta version of OBST, most notably:
- Naresh Sharma (N.Sharma@LR.TUDelft.NL)
- Michael Reifenberger (root@rz-wb.fh-sw.de)
- Hans-Ulrich Kobialka (kobi@borneo.gmd.de)
- Jean Safar (jsafar@lehman.com)
- Gabor Karsai (gabor@vuse.vanderbilt.edu)
- Stefan Bohm (bohm@math.uni-muenster.de)
-
- The installation of OBST requires a C++ compiler
- (GNU g++ 2.3.3/2.4.5/2.5.8, or AT&T 2.1/3.01).
-
- The OBST graphical tools run under the X-Windows
- system (currently X11R4, X11R5 and X11R6).
- Installation has been tested for SunOS4.1.3 and LINUX only.
-
- Best regards and happy OBST programming.
-
- The OBST Team
-
- ------------------------------------------------------------------------------
- README of OBST3-4
- -----------------
-
- Version: OBST3-4
- Date: 11/4/94
-
- The OBject system of STONE --- OBST
- -----------------------------------
-
- The persistent object management system OBST was developed by
- Forschungszentrum Informatik (FZI) as a contribution to the STONE
- project (supported by grant no. ITS8902A7 from the BMFT, i.e. the
- German Ministry for Research).
-
- OBST was originally designed to serve as the common persistent
- object store for the tools in software engineering environments.
-
-
- Data Model
- ---------
-
- The OBST data model can be characterized by the following properties:
-
- * Schema definition language syntactically similar to C++
- * Support of multiple inheritance
- * Generic classes
- * Abstract classes and methods
- * Distinction between public, protected, and private methods
- * Redefinition of methods
- * Overloading of methods
-
- Schemas and Containers
- ----------------------
-
- Schemas are compiled by the OBST schema compiler. The compilation
- results are instances of classes of the meta schema. From these
- instances in a next step interfaces to different programming languages
- can be generated. At present the C++ language binding is implemented.
-
- Objects are stored in so-called containers. The container an object
- belongs to is determined at the time of object creation and fixed
- throughout the object's lifetime. Containers are the units of
- clustering, synchronization, and recovery. Objects can be referenced
- by other objects across container boundaries.
-
- Incremental Loading
- -------------------
-
- OBST provides a mechanism to incrementally load methods. This enables
- programs to deal with objects whose type is defined after the program
- itself has been developed. This is useful in systems that provide for
- inheritance and it supports schema evolution. We used it e.g. for
- programs that interpret the object base and call methods of the
- found objects (for example the below mentioned browser).
-
- Prototype
- ---------
-
- Since end 1990 the first prototype of OBST is available and is shipped
- to interested universities and research institutions. The current
- version is publicly available via FTP (see below) since March '92.
- There is a mailing list (see below) with >>100 subscribers.
-
- The system comes with the schema compiler, a library of predefined
- classes (like Set<Entity>, List<Entity>, String, ...), a graphical
- object browser (more a shell than a browser), a graphical schema
- designer (USE), the structurer and flattener (STF), tclOBST,
- and all manuals.
- For USE, STF and tclOBST see below.
-
- Schema Evolution Support Environment (USE)
- ------------------------------------------
-
- This environment consists of a graphical schema designer built with
- tclOBST (see below). It can be used to inspect existing class hierarchies
- and to modify these hierarchies; it allows the addition of new classes
- as well as the modification of existing ones.
-
- Structurer and Flattener (STF)
- ------------------------------
-
- This is a tool to build objects from bytestrings and flatten objects
- down to bytestrings. It is intended to be used when coupling UNIX
- tools to the object management system. The user defines a grammar that
- describes her objects. Afterwards, the structurer parses an ascii
- text according to the given grammar and creates an OBST object
- structure that represents the corresponding parse tree.
- The flattener does the inverse transformation, that means it generates
- an ascii text from a given OBST object structure according to the given
- grammar.
-
- tclOBST
- -------
-
- tclOBST is a library which provides an embedding of OBST into the
- interactive tool command language tcl, developed by John Ousterhout
- at the University of Berkeley.
- Based on the standard tcl shells, which are also comprised in the
- tclOBST distribution, tclOBST offers interactive access to the complete
- functionality modelled by OBST schemata.
-
-
- System Requirements
- -------------------
-
- For the prototype's installation a C++ compiler
- (GNU g++ 2.3.3/2.4.5/2.5.7 or AT&T 2.0/2.1/3.01) and the
- X-Windows system (currently X11R4 or X11R5) for the graphical tools
- are required.
- Installation is well-tried on SUN Sparc stations and should be no
- problem on other UNIX machines, too. You can find a more detailed
- description of the supported platforms in the README.install.OBST*.
-
- --------------------------------------------------------------------
-
- For more information please mail to:
-
- Forschungszentrum Informatik (FZI)
- OBST Projekt
- Haid-und-Neu-Strasse 10-14
- D-76131 Karlsruhe
- Germany
-
- or email to: obst@fzi.de
-
- Phone: ++49-721-9654-701
- Fax: ++49-721-9654-709
- Teletex: 721 190 fziKA
-
- The OBST system is available via anonymous FTP from
- ftp.fzi.de [141.21.4.3] and some mirror servers.
-
- The system as well as some overview papers, documentation
- (User's Guide, Language Reference Manual, Tutorial, ...),
- and lots of manual pages can be found in the directory /pub/OBST.
-
- There are mailing lists for announcing OBST enhancements,
- new versions, porting hints, etc. as well as for exchanging experiences
- with other OBST users.
-
- Send a mail with content 'LONGINDEX' to obst-listserv@fzi.de to learn about
- the mailing lists which are currently installed:
- echo LONGINDEX | mail obst-listserv@fzi.de
-
- The mailing lists are maintained by an automatic list processor.
- Use 'HELP' to learn about the commands understood by this processor:
- echo HELP | mail obst-listserv@fzi.de
-
- Bug reports should contain a small example program with which the
- bug can be reproduced, or at least a detailed description of the
- observed phenomenon. They should also mention:
- o OBST version
- o configuration parameters for your OBST version
- (from file config.status)
- o kind and version of C++ compiler
- o machine
- o operating system
-
- Besides bug reports we are strongly interested in all experiences
- our users make with OBST (e.g. sufficiency of data model, performance,
- ...) and in our users' application areas and the applications as
- well. So, please don't hesitate to send us a short note.
-
- Best regards and happy OBST programming.
-
- The OBST Team,
-
- Boris Boesler, Dirk Eichberg, Frank Fock, Axel Freyberg,
- Michael Gravenhorst, Ingolf Mertens, Michael Pergande, Christian Popp,
- Bernhard Schiefer, Dietmar Theobald, Axel Uhl, Walter Zimmer
-
- ---
-
- BTW "Obst" is the German word for "fruit",
- so have a fruitful time with OBST!
-
-
- > Ode
-
- Ode 2.0
- An Object-Oriented Database
-
- C++ Compatible, Fast Queries, Complex Application Modeling,
- Multimedia Support, and more
-
- See APPENDIX E, Databases, for description.
- Note: Ode version 3.0 is now available.
-
-
- > Oggetto, University of Lancaster, UK.
-
- Developed at the University of Lancaster, UK. Summary NYI.
-
- "Oggetto: An Object Oriented Database Layered on a Triple Store",
- J.A. Mariani, The Computer Journal, V35, No 2, pp108-118, April 1992.
-
-
- > ORION (Now marketed as ITASCA)
-
- ORION was a prototype OODBMS developed at MCC, an American consortium by Won
- Kim and his group. Won Kim has left MCC and formed a new company, UniSQL, in
- Austin, with a new product of the same name.
-
- See also entry under "ITASCA".
-
- REFERENCES:
-
- I have found nearly a dozen papers published by the ORION folks.
- Overviews at various stages in its development and commercialization
- can be found in:
-
- [KBGW91] Won Kim, N. Ballou, J.F. Garza, and D.; Woelk. A
- distributed object-oriented database system supporting
- shared and private databases. ACM Transactions on
- Information Systems, 9(1):31--51, January 1991.
-
- [KGBW90] W. Kim, J.F. Garza, N. Ballou, and D. Woelk.
- Architecture of the orion next-generation database
- system. IEEE Transactions on Knowledge and Data
- Engineering, 2(1):109--24, March 1990.
-
- [KBCG89] Won Kim, Nat Ballou, Hong-Tai Chou, and Darrell Garza,
- Jorge F. Woelk. Features of the ORION object-oriented
- database system. In Won. Kim and Frederick H.
- Lochovsky, editors, Object-Oriented Concepts, Databases
- and Applications, chapter 11. Addison-Wesley, Reading,
- MA, 1989.
-
- [KBC+88] Won Kim, N. Ballou, Hong-Tai Chou, J.F. Garza,
- D. Woelk, and J. Banerjee. Integrating an
- object-oriented programming system with a database
- system. In Proceedings of the ACM Conference on
- Objected-Oriented Programming: Systems, Languages and
- Applications (OOPSLA), pages 142--152, San Diego, CA,
- September 1988. Published as ACM SIGPLAN Notices
- 23(11).
- [Pointers to the previous papers documenting each of the
- advanced features listed above are cited therein.]
-
-
- The paper most relevant to the issue of schema evolution is the
- following:
-
- [BKKK87] J. Banerjee, W. Kim, H-J. Kim, and H.F. Korth.
- Semantics and implementation of schema evolution in
- object-oriented databases. In U. Dayal and I. Traiger,
- editors, Proceedings of the SIGMOD International
- Conference on Management of Data, San Francisco, CA,
- May 1987.
-
-
- You might also like to look at Kim's book, which provides a good
- introduction to OODBMS, while focusing on the ORION work:
-
- [Kim90] Won Kim. Introduction to Object-Oriented Databases.
- Computer Systems. MIT Press, Cambridge, MA, 1990.
-
-
- > OTGen (Carnegie Mellon University/UMass Amherst)
-
- OTGen is a design for a system to support schema evolution in
- object-oriented databases. The chief contribution of OTGen is support
- for programmer extensibility of transformation functions to allow a
- system to support a wide range of schema changes, not just those that
- can be easily automated. While OTGen was never implemented, it is
- based on the implementation of TransformGen, a system to support the
- evolution of the specialized databases used by Gandalf programming
- environments. For more information on OTGen and TransformGen, please
- see:
-
- Barbara Staudt Lerner and A. Nico Habermann, "Beyond Schema Evolution
- to Database Reorganization", in Proceedings of the Joint ACM
- OOPSLA/ECOOP '90 Conference on Object-Oriented Programming:
- Systems, Languages, and Applications, Ottawa, Canada, October
- 1990, 67-76.
-
- Barbara Staudt, Charles Krueger, and David Garlan, TransformGen:
- Automating the Maintenance of Structure-Oriented Environments,
- Computer Science Department Carnegie-Mellon University, Technical
- Report CMU-CS-88-186, November 1988.
-
- David Garlan, Charles W. Krueger, and Barbara J. Staudt, "A Structural
- Approach to the Maintenance of Structure-Oriented Environments",
- in Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering
- Symposium on Practical Software Development Environments, Palo
- Alto, California, December 1986, 160-170.
-
- Contact:
- Barbara Lerner
- blerner@cs.umass.edu
-
-
- > VODAK
-
- Research in the framework of VODAK focuses on an extensible data
- model and database programming language, an advanced transaction
- model, object-oriented query language, and support for multimedia data.
-
- The VODAK Data Model Language VML
-
- Usually database models lack mechanisms for extending them with
- additional modeling primitives. This limitation does not allow the
- adaptation of the models for specific application needs, e.g. database
- integration, multimedia document handling, hypertext modeling, etc.
-
- The VODAK Model Language VML homogeneously integrates the concept of
- metaclasses and the separation of types and classes with other
- object-oriented concepts such as properties, methods, inheritance, and
- object identity. Complex nested data structures can be defined using
- the set, array, tuple, and dictionary type constructors. VML supports
- its own programming language for implementing methods, specifying
- transactions and an ad hoc query language.
-
- In VML classes are used to organize a set of objects corresponding to
- real world entities and relationships between them. Object types define
- the structure of objects and the operations defined on these
- structures. They are associated with classes in order to determine the
- structure and behavior of the class' instances. Metaclasses are first
- class objects whose instances are classes. Metaclasses are associated
- with three object types: an (optional) own-type extending their own
- behavior, an instance-type specifying the behavior of their instances
- (which are classes), and an instance-instance-type specifying the
- behavior of the instances of their instances. Metaclasses can be
- organized in an instantiation hierarchy of arbitrary depth.
-
- This approach leads to an open, adaptable data model which provides for
- the specification of additional modeling primitives at a meta layer of
- the database schema. The concept of metaclasses and the separation of
- classes and types allow to determine the structure and behavior of
- objects and the individual inheritance behavior via semantic
- relationships between arbitrary objects already at the meta layer
- independently from the specifications given at the application layer
- for the application specific classes.
-
-
- The VODAK Transaction Model
-
- In VODAK, we focus on two specific problems of transaction management.
-
- 1. Operations to read and edit (hyper)documents are typically complex,
- interactive and of long duration. A high degree of concurrency is
- required to reduce the number and length of times a transaction is
- blocked.
-
- 2. A publication environment has to handle existing database systems
- for using and modifying remote information and documents. Transaction
- managers of existing systems, i.e. concurrency control and recovery,
- have to be integrated in a transparent way utilizing the functionality
- of existing managers.
-
- Our transaction model is based on open nested transactions. Compared to
- conventional flat transactions, nested transactions allow more
- concurrency and are more flexible for recovery. A nested transaction
- is a tree-like structure, dynamically built up by the call of
- subtransactions until a bottom implementation level is encountered.
-
- We extended the open nested model from a fixed calling hierarchy of
- operations in a layered system (multi-level transactions) to an
- arbitrary calling hierarchy of operations in an object-oriented system.
- Commutativity of operations is applied to system defined VODAK methods,
- and to methods of user defined object types. For the second type of
- operations, we developed a framework to specify commutativity and
- inverse operations in VML.
-
- Query Processing
-
- Although nearly all object-oriented data models proposed so far include
- behavioral aspects, most object-oriented query languages, algebras and
- query optimization strategies simply adapt relational concepts since
- they focus on the complex structures of objects and neglect the
- behavior. We claim that this approach is not sufficient since it does
- not reflect the much richer semantics methods can carry which have to
- be taken into account for really efficient query processing. The quite
- straightforward approach we consider is to integrate methods in an
- algebraic framework for query processing and to make there partial
- knowledge about methods available in the form of equivalences. We
- integrate algebraic set operators with methods defined in database
- schemas within an object-oriented data model. We investigate the impact
- on the architecture of the query processor when the algebra becomes an
- extendible component in query processing.
-
- Multimedia Support
-
- The V3 Video Server was built as a demonstration showing a multimedia
- application developed on top of the VODAK database management system.
- The V3 Video Server allows a user to interactively store, retrieve,
- manipulate, and present analog and short digital video clips. A video
- clip consists of a sequence of pictures and corresponding sound.
- Several attributes like author, title, and a set of keywords are
- annotated.
-
- In the future, the VODAK DBMS will be enhanced with new built-in
- functionality for multimedia datatypes. Therefore, existing components
- of VODAK must be changed and new ones must be added to support time
- dependencies, high data volumes, and user interaction.
-
- Query Processing
-
- Although nearly all object-oriented data models proposed so far include
- behavioral aspects, most object-oriented query languages, algebras and
- query optimization strategies simply adapt relational concepts since
- they focus on the complex structures of objects and neglect the
- behavior. We claim that this approach is not sufficient since it does
- not reflect the much richer semantics methods can carry which have to
- be taken into account for really efficient query processing. The quite
- straightforward approach we consider is to integrate methods in an
- algebraic framework for query processing and to make there partial
- knowledge about methods available in the form of equivalences. We
- integrate algebraic set operators with methods defined in database
- schemas within an object-oriented data model. We investigate the impact
- on the architecture of the query processor when the algebra becomes an
- extendible component in query processing.
-
- The VODAK Prototype
-
- The system architecture consists of a central database environment and
- several external database environments to which the user wants to have
- integrated access. Each of these environments consists of an object
- manager, a message handler, a transaction manager, and a communication
- manager. In addition to these components an external database
- environment includes a database interface module which realizes the
- access to an external database system.
-
- The DBMS components are currently built on top of DAMOKLES and will be
- in the near future on top of ObjectStore.
-
- A first version of a C++ based prototype of VODAK is available for Sun
- Sparc Stations under certain conditions. It implements all the
- features specified in including e.g. metaclasses, transactions, and
- remote message execution.
-
- References
-
- P. Muth, T. Rakow, W. Klas, E. Neuhold: A Transaction Model for an
- Open Publication Environment. A. K. Elmagarmid (Ed.): Database
- Transaction Models for Advanced Applications. Morgan Kaufmann
- Publishers, San Mateo, Calif., 1992.
-
- Wolfgang Klas, Karl Aberer, Erich Neuhold Object-Oriented Modeling for
- Hypermedia Systems using the VODAK Modeling Language (VML) to appear
- in: Object-Oriented Database Management Systems, NATO ASI Series,
- Springer Verlag Berlin Heidelberg, August 1993.
-
- Karl Aberer, Gisela Fischer Object-Oriented Query Processing: The
- Impact of Methods on Language, Architecture and Optimization
- Arbeitspapiere der GMD No. 763, Sankt Augustin, July 1993.
-
- T.C. Rakow, P. Muth The V3 Video Server: Managing Analog and Digital
- Video Clips, Sigmod 93, Washington, DC.
-
- For further information contact
-
- {aberer,muth,rakow,klas}@darmstadt.gmd.de
-
- GMD-IPSI
- Dolivostr. 15
- D-64293 Darmstadt
- GERMANY
-
- FAX: +49-6151-869 966
-
-
- Commercial Systems
- __________________
-
- > ArtBASE (Object-Oriented Data Model)
-
- by: ArtInAppleS Ltd.
- Kremelska 13
- 845 03 Bratislava
- SLOVAKIA
- Phone: x42-7-362-889
- fax: x42-7-777 779
- EMail: artbase.support@artinapples.cs
-
- Distributor for Germany:
- ARS NOVA Software GmbH
- Stettener Strasse 32/3
- 73732 Esslingen a.N.
- Germany
- Phone: x49-711 3704001
- Fax: x49-711 3704001
- EMail: info@arsnova.stgt.sub.org
-
- Languages: Objectworks\Smalltalk by ParcPlace Systems, Inc.
-
- Platforms: Unix, PC Windows, Macintosh
-
- Features:
- - Fully implemented in Objectworks\Smalltalk
- (ArtBASE is delivered with source code)
-
- - ArtBASE extents Smalltalk of persistency. Persistent objects are handled the
- same way as transient objects.
-
- - Optimistic and pessimistic concurrency control.
-
- - Transactions, including long lived transactions
-
- - User concept with access restrictions
-
- - storing of classes and methods in the database - entire applications
- may be stored in an ArtBASE database, including the data AND the
- application classes
-
- - Currently, a single user version is available. The Distributed Multi User Server Version
- will be presented at the OOPSLA'93 at Washington D.C. in September 1993 for Unix
- environments and PCs.
-
- - Existing applications can be turned to database applications very easily using ArtBASE
-
-
- > EasyDB (Objective Systems, Sweden)
-
- EasyDB features a (programming language independent) Data Definition
- Language (DDL) for the definition of schemas. It relies on the
- Entity-Attribute-Relationship model. Data Manipulation Languages
- (DML) include a Navigational Query language (NQL) embedded in a host
- language (C available now, Ada in January '93), and a generic C++
- class library.
-
- On Schema Evolution (from original survey):
- The schema may be freely extended with new items (types, domains,
- attributes, entities, relationships etc.). Deletion of items is not
- allowed.
-
- Data created with an older schema may co-exist with newer data. Old
- applications need not be recompiled when the schema is updated.
- Attempts by newer applications to access `older' data in an
- inconsistent way are detected and reported via an exception handling
- system.
-
- [Tomas Lundstrom <tomas@os.se>]
-
- Objective Systems SF AB (Ericsson)
- Box 1128
- S-164 22 Kista, Sweden
- tel : +46-8-703-4591
- fax : +46-8-750-8056
- contact: Jaan Habma, jaan@os.se
-
-
- > GemStone (Servio)
-
- First introduced in 1987, Servio's GemStone is the oldest commercial ODBMS
- available today. GemStone is particularly well suited for use in complex
- multi-user, multi-platform client/server applications. It supports
- concurrent access from multiple external languages, including Smalltalk-80,
- Smalltalk/V, C++ and C. GemStone also provides a dialect of Smalltalk as an
- internal DML, which can execute methods or entire applications in the
- database.
-
- Servio also offers GeODE (GemStone Object Development Environment), an
- object database application development environment which allows developers
- to build complete object applications visually, without writing code. With
- GeODE's visual programming tools, programming an application is a matter of
- wiring together graphical representations of encapsulated code blocks. A
- simple extension mechanism promotes the re-use of code, thereby increasing
- the speed of program development. Also, association of application user
- interface elements with database objects is established through simple
- graphical tools. GeODE applications are stored and run in the GemStone
- database, and so are both self-porting and network-aware, and can be
- accessed externally from any of the GemStone language interfaces. Because
- of GemStone's network architecture, Geode applications can operate easily
- in a client/server environment.
-
-
- ==============================================================================
-
- GEMSTONE
-
- GemStone is a highly scalable client-multiserver database for commercial
- applications. GemStone's features include:
-
- o Active Database -- GemStone allows database application developers to
- write methods which are stored and executed directly in the database.
- These methods can be accessed either internally, or from external client
- applications. This can significantly reduce network traffic and allow
- applications to take advantage of the superior compute power of the
- server. This also eliminates the need to rebuild and re-deploy
- applications whenever application or business processing rules change.
- This in turn allows for centralized code development and management,
- architecture-independent code that ports itself to new platforms,
- reduced network usage, and true client/server applications that share
- compute load between client and server machines.
-
- o Concurrent Support for Multiple Languages -- GemStone provides
- concurrent support for applications developed in Smalltalk, C++, C or
- GeODE. All applications, regardless of language, can have simultaneous
- access to the same database objects.
-
- o Flexible multi-user transaction control -- Multiple users can
- operate in the database simultaneously, with a variety of transaction
- control modes available.
-
- o Object-level security -- Authorization control can be applied to any
- object in the database, allowing for fine tuning of object security.
-
- o Dynamic schema and object evolution -- GemStone supports schema
- modification through class versioning and allows full migration of
- objects between versions of their classes with a simple message send.
- Migration is fully customizable and is undoable.
-
- o Production Services -- GemStone delivers the full suite of features
- required in any production-ready networked database including online
- backup, rapid recovery, referential integrity, sophisticated concurrency
- control, and event signals and notifiers.
-
- o Scalability -- In a recent independent benchmark, GemStone scaled to
- support more than 1,000 simultaneous log-ins and 100 concurrent active
- users on a mid-sized SMP server.
-
- o Legacy Gateways -- GemStone incorporates gateways or data bridges
- that allow object applications to integrate legacy data, whether in SQL,
- IMS, VASM or other formats. The level of integration between GemStone
- and legacy data and applications can range from simple query access to
- extensive read-write interoperability.
-
-
- ==============================================================================
-
- GEODE
-
- GeODE is a comprehensive environment for rapidly designing, building and
- deploying production-quality commercial object applications. Its design
- promotes code reuse in a team programming environment for increased
- productivity. GeODE consists of six main elements:
-
- o Visual Application Manager -- Provides centralized management
- of each application and its component parts, and a namespace for
- addressing known objects.
-
- o Visual Schema Designer -- Allows the development of database schema
- visually, making the process more interactive and intuitive than with
- object-oriented programming languages. It also provides analysis tools
- for examining an existing schema.
-
- o Visual Forms Designer -- The Forms Designer reads GemStone class
- definitions and an associated data dictionary to automatically create
- default forms suitable for simple data entry. These forms can be rapidly
- customized, using a wide selection of user interface components and
- field types, which include image and sound support, and a large set of
- form design aids. The list of field types can be extended interactively.
-
-